Remote crane bar code system

ABSTRACT

In general terms, the present invention provides a method of automatically scanning an inventory field to allow the selection of a desired item for retrieval. A camera is positioned in the crane trolley located above the field. The camera continuously performs a scan of the field displaying an image to the operator of the items being scanned. This real-time image allows the operator to distinguish between items scanned in the field. The operator can subsequently choose the desired item triggering the camera system to automatically capture desired information from the item which is in turn communicated to an inventory control system. The camera system mitigates the requirement of a second individual to communicate information between the field and the operator.

This application claims priority from U.S. patent application Ser. No.60/601,183 filed on Aug. 13, 2004.

FIELD OF THE INVENTION

The present invention relates to a method and apparatus for remotelyreading an identifier on an object.

BACKGROUND OF THE INVENTION

Items produced in a manufacturing environment will typically be storedin a warehouse for shipping at a later date. A shipping warehouse willtypically house a plurality of products, which are made by differingprocesses or have different characteristics. This collection ofwarehouse items may be referred to as the ‘field’. The field can besubstantially large and therefore may be organized into a set of definedlocations resembling a ‘grid’. The warehouse items are placed atappropriate locations within the grid and these locations are recorded,creating a mapping of the items for subsequent rearrangement orretrieval. A shipping order will typically comprise a combination ofdissimilar items from this field requiring this combination of items tobe located and collected to complete the shipping order. This shippingorder is sometimes referred to as a shipping manifest or lift ticket.Further to gathering items for a shipping order, it may be necessary orbeneficial to rearrange or move around the items in the field tooptimize floor space or to enable a more efficient arrangement of theitems.

When the items manufactured are of substantial dimension and weight, itis typically necessary to retrieve the items from the field using anoverhead crane or similar device capable of lifting and transportingitems of such dimension and weight. The use of an overhead cranerequires the operator of the crane to either be placed at a remotelocation relative to the field (in the cab of a crane for example) or tooperate the crane with a remote control device at field level.

When the operator is at a remote distance, the operator may be unable todistinguish between items in the field that are required for a givenshipping order. This situation is of particular concern where items areof similar shape but different characteristics, such as in the steelindustry where coils of stock that are produced with differingspecifications appear similar, especially when viewed from a distance.If the operator uses a remote control device to operate the crane,navigating the field while moving the crane, and reading and scanningthe items becomes quite cumbersome for one person. Furthermore, the useof one person at the field level to control the crane, identify theitems of interest and scan the item becomes cumbersome due the need formultiple devices to both control the crane and scan the item.

If the crane operator is remotely located relative to the field, asecond individual is required to identify the existence and position ofthe desired items at the field level, to scan the desired items andcommunicate this information to the operator. The communication betweenthe two individuals is required to identify the item of interest forrearrangement or shipping purposes.

The use of two individuals to gather items in a shipping order tends tobe both inefficient and labour intensive given the task to be completed.In the steel industry where the items in the field are of substantialsize and weight, the individual assigned to track the appropriate itemsat the field level would find the method of scanning to be not only timeconsuming but also dangerous. The inadvertent movement of large items onthe field poses a threat to the safety of the individual at the fieldlevel and the large area of the field does not lend itself to anefficient method for identifying the desired items in the shippingorder.

In the steel industry where the items in the field are large coils,typically the individual at the field level manually scans a barcodefound on a tag affixed to the coil. This introduces a possibility forhuman error. The human error can lead to the processing of incorrectcoils, which could possibly generate an incorrect shipment to thecustomer. Further to the time-related inefficiencies and inherent safetyrisk, the use of a field level individual requires additional floorspace for the above-mentioned navigation of the field. By eliminatingthe use of a floor operator, less floor space would be required. This isdue to a reduction in the required size of the lane ways betweenadjacent coils. Space is then only required to accommodate the jaws ofthe crane's picker. This requires an apparatus capable of viewing thefield from a distance.

To remotely view labels and barcodes, it has been known to use a cameramounted in a fixed position whereby movement of an item into thefield-of-view of the camera allows for remote viewing of a label. Thismethod however requires the position of the labels to be known and thecorrect item to have been picked by the crane in advance of the camerascan.

Another method of reading labels and barcodes remotely involves amoveable camera capable of tilting, panning and zooming to focus on adesired label or barcode. This method however, requires additionaloperations to be manually executed by the operator of the crane toidentify not only the item of interest but also to correctly centre andzoom in on the label for reading. These additional operator interactionsimpose an additional opportunity for human error.

It is therefore an object of the present invention to provide a methodand apparatus to obviate or mitigate the above disadvantages.

SUMMARY OF THE INVENTION

In general terms, one aspect of the present invention provides a methodfor remotely scanning objects including the steps of using an imagingsystem to display an image of the objects on an interface, receiving alocation input related to an identification tag which is attached to adesired object based on a location in the image, using the locationinput to orient the imaging system towards the identification tag,magnifying the identification tag, and reading information identifyingcharacteristics of the desired object provided by the identificationtag.

In another aspect, the present invention provides a system for remotelyscanning objects comprising an imaging system positioned remotely fromthe objects and arranged to image the objects. The imaging system has anadjustable lens for magnifying the image. The system also comprises aninterface for displaying an image of the objects and is adapted forreceiving a location input for an identification tag attached to adesired object based on a location in the image. The system alsocomprises a processor connected to the imaging system and the interface.The processor uses the location input to orient the imaging systemtowards the tag, commands the adjustable lens to magnify the tag, andreads information identifying characteristics of the desired objectprovided by the tag.

In yet another aspect, the present invention provides a method foraligning a tag in an image, the tag being affixed to an object andhaving indicia thereon. The method has the steps of obtaining an imageof the object having at least a portion of the tag visible in the image;arranging at least one sensor on said image; identifying at least onemarking on the tag using the at least one sensor, the at least onemarking indicative of the position of the tag in the image, andindicative of a respective region of interest in the image correspondingto at least a portion of indicia on the tag, each of the respectiveregions of interest intersecting one of the at least one sensor;computing an average position of the at least one marking to determine adeviation of the average position from a preferred position; andaligning the tag in the image according to the deviation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described by way of exampleonly with reference to the appended drawings wherein:

FIG. 1 is a schematic representation of a remote crane barcode scanningsystem.

FIG. 2 is a schematic representation of a scanning camera.

FIG. 3 is a view of the operator control interface within a crane cab.

FIG. 4 is an enlarged view of the touchscreen transmitting an image ofthe field to the operator via the camera of FIG. 2.

FIG. 5 a shows an inventory tag.

FIG. 5 b is a representative schematic of the items identified by thecamera system during an image analysis procedure.

FIG. 6 is a schematic representation of the system.

FIG. 7 is a flow chart representing one embodiment of the field scanningprocess.

FIG. 8 is an alternative embodiment of the remote crane barcode scanningsystem of FIG. 1 utilising two cameras.

FIGS. 9 a-9 d are diagrams pictorially showing steps in a tag alignmentprocedure.

FIG. 10 is a flowchart illustrating the steps performed in the tagalignment procedure of FIG. 9.

FIG. 11 is a flowchart illustrating steps that continue from theflowchart of FIG. 10.

DETAILED DESCRIPTION OF THE INVENTION

Referring therefore to FIG. 1, an overhead crane system 10 is positionedabove a field of inventory 20, the inventory in this embodiment beingcoils 22 of steel varying in specification. The coils 22 are initiallyplaced in the field 20 and the respective positions of the coils 22 inthe field 20 recorded using a range finder 13 or other means. Eachposition may then be correlated to its respective coil 22 using thesystem 10 or other suitable methods. The correlation of position to coil22 enables an operator of the system 10 to at a later time target aparticular area of the field in order to locate and scan the coil 22 todetermine if it remains at its recorded position.

The overhead crane system 10 includes a trolley 12 mounted upon a bridge26 and has a communication connection to an operator cab 18, preferablyover a festoon cable to accommodate movement of the trolley 12 relativeto the cab 18. The cab 18 is situated in a fixed position at one end ofthe bridge 26. An inventory control system 24 includes coordinates ofobjects and also has a communication connection with the operator cab18. The trolley 12 includes a set of motors 28 to facilitate translationof the trolley 12 along the bridge 26. Typically the bridge 26 ismounted on rails 25 transverse to the bridge 26 allowing the bridge 26to translate fore and aft along the rails 25.

Translation of the bridge 26 and the trolley 12 in the directionsindicated allows the trolley 12 to access objects located anywhere inthe field 20. The trolley 12 furthermore includes a picker 16 forvertically hoisting coils 22 from the field 20, a camera system 14, andthe range finder system 13 having separate range finders for locatingthe trolley's position along each axis of the field 20.

The camera system 14 can be seen in greater detail when referring toFIG. 2. The camera system's components are housed within a casing 36 andthis casing 36 is mounted to the underside of the trolley 12. A zoomlens 32 of a camera 34 protrudes beyond the lower surface of the casing36, which is partially open and covered by a transparent acrylicenclosure 30. The camera 34 is preferably a “smart” camera, which is acamera having a microprocessor capable of processing image data. Thisfunctionality enables the camera 34 to process information related tothe coils 22, that are acquired in an image.

The processing may also be done remotely from the camera 34 in aseparate processor. The acrylic enclosure 30 allows movement of the zoomlens 32 within its volume and is transparent, allowing the lens 32 tocapture images. The camera 34 is controlled by a pan/tilt mechanism 40.The pan/tilt mechanism 40 can orient the camera 34 using various pan andtilt operations in order to point the camera 34 towards a desired areaof the field 20. A motor 38 is incorporated within the pan/tiltmechanism 40 and controls its movements. The motor 38 is controlled byan electronic controller 33 which has a communication connection to thesmart camera 34 or other system control computer (not shown).

The interface located within the operator cab 18 is shown in FIG. 3. Thecab 18 contains a computer interface 50 which includes a touchscreen 54.A control console 52 allows the operator to control manually, themovements of the trolley 12.

Making reference now to FIG. 4, the touchscreen 54 displays the imagesacquired by the camera system 14. These images show objects in the field20 and in this particular example are coils of steel 22. The coils 22are of differing specifications, and information pertaining to the coil22 is stored on a tag 60. The tags 60 are intended to be affixed to theupward facing surfaces of the coils 22 typically in an unspecifiedmanner and therefore do not appear at consistent locations on the upwardfacing surfaces of the coils 22 or in consistent orientations thereon.The information found on the tag 60 is unreadable from the distance thatthe operator is located and therefore must be magnified by the camerasystem 14. A tag 60 is shown in FIG. 5 a. The tag 60 includes a barcode64, a numerical code 66 and a set of alignment markers 62. An alignmentmarker 62 is located in the proximity of each of the four corners of thebarcode 64. One alignment marker 62 a is dissimilar to the otheralignment markers 62 b, 62 c, 62 d. The dissimilar alignment marker 62 ais used by the camera system 14 to determine the orientation of the tag60 in the image. The orientation of the tag 60 allows the camera system14 to choose the appropriate direction to perform the barcode scan.

In FIG. 5 a, the dissimilar marker 62 a is located in the top-leftportion of the image with respect to the other markers 62 b, 62 c, 62 d.The dissimilar marker 62 a includes a triangular notch which pointstowards the centre of the barcode 64. The remaining three markers aretriangular in shape and are rotated 90° with respect to each other suchthat they each point towards the centre of the barcode 64. The alignmentmarkers 62 are located at substantially equal distances from the centreof the barcode 64. These distances are known proportions of the tag'ssize (for instance a proportion of the width). These proportions and thetag size itself are programmed into the camera system 14. The camerasystem 14 can use the width of the tag 60 seen in the image to establishscale. Distances can be measured from the alignment markers 62 based onthe established scale, the known proportions and the resolution of thecamera system 14. The barcode 64 and the numerical code 66 containsidentification information pertaining to the coil 22 to which the tag 60is affixed.

The communication connections are schematically shown in FIG. 6. Theelectronic controller 33 includes a zoom controller 82 operating thezoom lens 32 and a pan/tilt controller 84 operating the pan/tiltmechanism 40. The controller 82 commands the motors 38 (not shown)facilitating the movement of the zoom lens 32 (or 32 b in a two camerasystem—explained later). The controller 84 commands the motors 38facilitating the movement of the pan/tilt mechanism 40. In thisparticular embodiment, the inventory control system 24 is connected tothe operator interface 50 via a wireless Ethernet link 80. It will beappreciated that any of the communication connections described hereinmay be hard wired or wireless. It will also be appreciated that thetouchscreen 50 and operator interface may alternatively be located awayfrom the crane at a remote location, and operated via the communicationlink 80. In such an arrangement, control of the crane and the picker 16can be performed from any location.

Referring to FIG. 7, an automatic scanning process 100 involves acontinuous scan of the coil field 102. Referring also to FIG. 1, thecamera system 14 is mounted on the underside of the trolley 12 andtherefore scans the field 20 below as the operator navigates the trolley12. Images captured are displayed to the operator 104 as shown in FIG.4. Coils 22 are observed during this scanning process 100 and theoperator must decide whether the coil 22 shown is of interest forreading 106. If the coil 22 is not of interest to the operator, theoperator will continue to monitor the image 104 until a coil 22 doesappear that is of interest for reading. When a coil 22 appears that isof interest, the operator first indicates whether the coil 22 issituated at a relative far position such as on the floor or at arelative near position such as being mounted in a secured and elevatedposition on a truck bed. This is done by selecting a “Near” setting or“Far” setting on the touchscreen 54. The settings represent the nominalmagnifications required by the camera system 14 to be able to read a tag60 at the corresponding distance. It will be appreciated that there maybe any number of magnification levels that can be chosen and should notbe limited to only “Near” and “Far” settings. The operator then selectsthe coil 108 by touching the image of the particular coil 22 at theposition which its tag 60 appears on the touchscreen 54.

It will be appreciated that the camera system 14 may also use the rangefinder system 13 to determine where the trolley 12 is in the buildingand whether it is over a floor area or a loading bay (truck mountedcoils) to automatically adjust the magnification and focus toappropriate settings without operator input.

At this point, the camera system 14 begins an identification process109. To begin, the camera system 14 is given a set of co-ordinates fromthe touchscreen 54 representing the position selected by the operator.These co-ordinates are measured relative to a datum wherein the scale ofthe image is known based on the wide view magnification used by thecamera system 14 and the data provided by the range finder system 13.The datum represents the centre of the field-of-view of the camerasystem 14. The pan/tilt controller 84 then moves the camera system 14aligning the datum with the given co-ordinates 110 which places the tag60 substantially within the centre of the field-of-view of the camerasystem 14. The camera system 14 also uses the data from the range findersystem 13 to map the trolley's position within the field 20 to the givenco-ordinates. This provides the inventory control system 24 with a floorgrid location to be associated with the tag's information.

This first movement 110 by the pan/tilt mechanism 40 provides a coarseadjustment for centring the tag 60. Following this pan/tilt operation110, the camera system 14 commands the zoom controller 82 to perform azoom operation 112, providing an enlarged image of the tag 60. The zoomcontroller 82 has two predetermined magnifications, one for the “Near”option and one for the “Far” option. Since the tags 60 are presumablyaffixed to the coils 22 on the upward facing surface, tags 60 withsimilar designation (specifically “Near” or “Far”) will be at asubstantially similar distance from the camera system 14. If theoperator had selected “Far”, the zoom controller 82 magnifies the imageto its “Far” setting. If the operator had selected “Near”, the zoomcontroller 82 magnifies the image to its “Near” setting which requiresless magnification than the “Far” setting since the coils 22 arepositioned closer to the camera system 14. Due to curvature of theupward facing surface of the coils 22, tags 60 of similar designationmay be affixed at slightly varying distances. The zoom controller 82performs minor focusing at this point if necessary to provide adequatesharpness of the image.

It will be appreciated that the camera system 14 may also use a depthmeasurement device such as an ultrasonic range finder to determine thedistance between the tag 60 and the camera system 14. This would allowthe zoom controller 82 to choose specific magnifications for each tag60. This may be necessary in situations where the dimensions of theobjects being selected vary substantially.

Following the zoom operation 112, the camera system 14 performs analignment adjustment operation 114. Referring now to FIG. 5 b, thecamera system 14 analyses the image and identifies the location andorientation of each of the alignment markers 62 on the tag 60 using anobject-finding routine built into the software used by the imagingsystem, e.g. smart camera software, and previously programmed toidentify markers 62 having a particular size and shape.

The camera system 14 determines the position of the dissimilar marker 62a relative to the other markers and this position dictates the relativeorientation of the tag 60 and subsequently the barcode scan direction.If the dissimilar marker 62 a is the upper-leftmost of the markers 62(as shown in FIG. 5 a and 5 b) the camera system 14 determines that aleft-right horizontal scan is required. If the dissimilar marker 62 a isthe upper-rightmost of the markers 62 the camera system 14 determinesthat a top-bottom vertical scan is required. If the dissimilar marker 62a is the lower-leftmost of the markers 62 the camera system 14determines that a bottom-top vertical scan is required. If thedissimilar marker 62 a is the lower-rightmost of the markers 62 thecamera system 14 determines that a right-left horizontal scan isrequired.

Using the locations of the markers 62, the camera system 14 thenapproximates the centre of the barcode 64. Firstly, since the relativeorientation of the tag 60 has been determined, the camera system canmeasure the width of the tag 60 along the appropriate direction in theimage 70. Furthermore, since the actual width of the tag 60 and thecamera system's resolution is known, the camera system 14 can correlatepixel width in the image to the actual width on the tag 60. Each markeris a particular distance from the centre of the barcode 64 and is aproportion of the tag's width. The distance is measured along a line inthe direction that the marker 62 b is pointing and is typicallyperpendicular to the outermost edge of the marker 62 b relative to thebarcode 64. Based on the proportion of the tag's width, the actualdistance on the tag 60 is converted to a number of pixels in the image.This pixel length is then converted to a set of pixel co-ordinatesrelative to the marker 62 b. Using these relative pixel co-ordinates,the centre of the barcode 64 is approximated and a mark 74 is recordedby the camera system 14. This process is repeated for the other threealignment marks 62 a,c,d and the average position 72 of the four marks74 is calculated and its position is recorded by the camera system 14.These markings are shown in FIG. 5 b.

The camera system 14 uses the position of the average centre mark 72 todetermine whether the centre mark 72 lies within a window 76 ofacceptable positions surrounding the centre of the image 70. If theaverage centre mark 72 is within the acceptable window 76, the barcode64 can be read. If the average centre mark 72 is not within this window76, the pan/tilt controller 84 commands the pan/tilt mechanism 40 toadjust the camera system 14 thereby placing the average centre mark 72within the acceptable window 76 of the analysed image 70. This alignmentof the average centre mark 72 ensures the entire barcode 64 is visiblein the image 70 and therefore can be properly scanned.

With the tag 60 magnified 112, properly aligned (per step 114), and itsorientation known, a barcode string is generated by the camera system 14by scanning the bar code 116. The direction of the scan is based on thedetermined orientation of the tag 60. This barcode string is sent to theoperator interface 50 for comparison with the lift ticket 118. If theinformation acquired does not match an item on the lift ticket, the coil22 is rejected and the system 100 returns to the field level image forthe operator to make another selection. If the barcode 64 does match anitem on the lift ticket, the camera system 14 returns to a wider view toallow the coil 22 to be grabbed and lifted by the operator 119 using thecrane's picker 16. The automatic scanning process 100 is reinitialised120 once a coil has been lifted 119 and resumes scanning the coil field102 until the next operator selection. The system 10 may then interfacewith the inventory control system 24 to update the stock of coils 22 andprocess a shipping ticket for delivery of an order of coils 22.

Therefore, the system 10 enables the identification, scanning andretrieval of objects in a field of inventory from a remote locationrequiring only a single input from an operator. The operator mayremotely scan a collection of the objects and select an object ofinterest based on a predetermined location for that object. This can bedone through an input such as touching the image on a touchscreen toindicate the location of an identifier on the object. The imaging system14 may then automatically magnify the identifier based on the input, andautomatically perform an alignment procedure to orient the identifieraccording to a desired orientation. The system 14 then automaticallyreads the identifier, e.g. by scanning a barcode 64, and usesinformation provided by the identifier to confirm the location of theobject for processing shipping orders, and update an inventory system 24accordingly. Only a single operator input using a touch or point of amouse is needed to execute the above procedure. This effectivelyreplaces a manual pan/tilt/focus/zoom operation with a single initialinput.

In a further embodiment of the present invention, the camera system 14utilises two smart cameras 32 a, 32 b as shown in FIG. 8. The pair ofcameras 32 a, 32 b are mounted together on the pan/tilt mechanism 40similar to the apparatus shown in FIG. 2. The first camera 32 a is at afixed magnification and provides a constant overall image of the coils22 as they are being scanned. The second camera 32 b is equipped with amotorised zoom lens similar to the camera lens 32 in the previousembodiment. In this configuration, the second camera 32 b maintains amagnification close to the level at which a tag 60 can be read andrequires only minor magnification adjustments once the pan/tiltmechanism 40 aligns the second camera 32 b with the selected tag 60.

The use of two smart cameras 32 a, 32 b eliminates the delay time causedby the long zoom stroke being required to increase the magnificationfrom a wide view of the field 20 to a zoomed view of a barcode 64. Whilethe camera system 14 scans the field 20, the touchscreen 54 displays animage of the field from the fixed camera 32 a. When the operator selectsa tag 60 on the touchscreen 54, the touchscreen 54 then displays animage from the second camera 32 b while it centres the tag 60. Since thetags 60 may be affixed at varying distances, the second camera 32 b willmake necessary minor adjustments to achieve the desired magnificationwhile centering takes place. Both cameras 32 a, 32 b are mounted on thepan/tilt mechanism 40, and thus move together to maintain a constantrelationship of the location of the tag view within the field of view ofthe fixed camera 32 b.

During operation, one camera (e.g. 32 a) is designated as a fieldcamera, and the other camera (i.e. 32 b) is used at the tag camera forreading barcodes. The field camera 32 a has a fixed focal length,aperture and focus settings. The image size, and depth of field are setso that all coils 22, no matter what height, are in focus. The overviewimage is provided to the operator, so that they can select the location(i.e. barcode tag) to enable the tag camera 32 b to locate the tag 60for reading the barcode 64. The field camera 32 a monitors the output ofthe user interface touchscreen 50, looking for tag identification“touches” or other suitable commands to indicate such identification.

Once the barcode 64 has been identified by the operator, the camera 32 aattempts to identify the barcode 64 and locate its center, to therebyincrease the accuracy of the pointing instruction to the pan/tiltmechanism 40. If the attempt fails, the pan/tilt command defaults to theexact position that the operator touched. Once the pointing operation iscomplete, the field camera 32 a flags the tag camera 32 b to begin thetag reading process.

The tag camera 32 b has a motorized zoom lens, which is capable ofadjusting image size, aperture (brightness and depth of field), andfocus (object height). Image size is set by the operator, who mayspecify whether the coil is on the floor or on a truck bed as explainedabove. The aperture is held constant, and focus may be scanned tooptimize image sharpness for the barcode read.

The tag image may be provided to the operator for manual centering usingthe touchscreen 50, or to be able to read the tag number in case thebarcode is unreadable. The tag camera 32 b operates to execute theidentification process 109 described above. It will be appreciated thatthe camera 32 b may process the image with an internal processor or maysend images to an off-camera processor for processing.

It will be appreciated that the second embodiment described hereinincludes all of the features of the previous embodiment with anincreased zoom speed imparted by use of a pair of smart cameras 32 a, 32b shown in FIG. 8, and described above.

The identification process 109, particularly the alignment step 114described above is most accurate when reading tags 60 that are affixedto objects have a substantially planar upwardly facing surface, or whenthe tags 60 are more or less ensured to be affixed such that theiralignment is substantially parallel to the floor 20. When tags 60 areaffixed to rolls of steel 22, the inherent curvature of the upwardfacing surface of the roll often places the tag 60 at a difficult anglefor viewing the alignment markers 62 described above, e.g. when the tagsare positioned on a sloping surface of the roll 22.

An alternative procedure for aligning a tag 160 is shown in FIGS. 9 a-9d and 10-11, which is most suitable for centering tags 160 that arelikely to be affixed to an object having a sloping surface. In thisembodiment, like elements are given like numerals with the prefix “1”.

An image 154 may be obtained according to steps 102-112 shown in FIG. 7,using either the one-camera or two-camera system. The followingdescription is directed towards a two-camera system, but should holdtrue for a single camera system with different zoom levels, sincedifferent zoom levels are inherently at different resolutions. In atwo-camera system, when the field camera 32 a sends instructions to thepan/tilt mechanism 40 to center the tag camera 32 b on a barcode, it iscommon for the tag 160 to be off-center in the tag camera's field ofview. This occurs because the resolution of the tag camera 32 b istypically much greater than that of the field camera 32 a, and thus, asingle pixel shift (horizontal or vertical) command to the pan/tiltmechanism 40 from the field camera 32 a, translates to a several pixelshift in the field of view of the tag camera 32 b.

As shown in FIGS. 9 a-9 c, a portion of the barcode 64 may be cut-off inthe image 154, as well as some of the alignment markers 62. Thealternative procedure shown in FIGS. 9 a-9 d enable the tag camera 32 bto be repositioned in order to orient the barcode 64 such that it isvisible for subsequent scanning (i.e. in a desired orientation).Preferably, the centering operation is executed for each scan,regardless of the accuracy of the coarse adjustment caused by the“touch” of the operator. When a tag 160 is accurately centered after thecoarse adjustment, only a minor additional time overhead is required,however, when the tag 160 is substantially off-center, the procedure cansave several seconds from the read operation when compared to having theoperator initiate a manual re-centering.

The alternative procedure for aligning tags 160 uses a series of virtualsensors implemented in a software routine to conduct scans along definedpaths in the image 154 to identify or “sense” segments. Segments areregions of similar intensity, differentiated from other regions by anintensity gradient, which is preferably user selectable. Each scaneffectively causes a “soft” sensor to interrogate the image and mark oridentify segments that it intersects. Preferably, three concentricsensors are used. In the embodiment shown in FIG. 9 a, three sensorseach scan an oval path (inner 202, mid 204, outer 206) to defineconcentric zones arranged from the center of the image 200 out to theedges of the image field. A marker 208 is placed on the image withineach segment identified by a sensor. The number of these points in theimage is indicative of distribution of segments in the image.

A well centered tag 160 should produce an equal distribution ofsegments, and thus markers 208, about the center of the image 154, suchas that shown in FIG. 9 d. In such a case, the segment positions wouldthen cancel each other out, to produce an average position of thesegments, near center 200. A tag 160 that is towards one side of theimage field, e.g. FIGS. 9 a-9 c, will cause an imbalance in the numberof segments on that side, resulting in the average segment positionbeing shifted towards that half of the image 154. In FIGS. 9 a-9 c, thebarcode 164 is located towards the bottom right portion of the image154, and reports a large number of small segments in that area. Smallsegments are segments that are of a particular size, measured in pixels,e.g. <10 pixels, and are likely to indicate the presence of a barcodebar (white or black). An average 215 of the position of these smallsegments, measured from the center 200 computes a vector 214 (see FIG. 9b).

Referring to FIG. 9 c, a horizontal sensor 210 and vertical sensor 212can also be used to provide greater accuracy. These sensors scan alongthe image at the average position 215 as shown in FIG. 9 c, and are usedto adjust the average position 215, to determine a second averageposition 217, that better represents the centre of the barcode 164. Asecond vector 216 is then produced that more accurately reflects theoffset of the barcode 164. For a horizontal barcode, e.g. FIGS. 9 a-9 c,the oval segmentation sensors 202-206 would provide the vertical offset,and the horizontal sensor 210, the horizontal offset. Similarly, for avertical barcode (not shown), the oval sensors would provide thehorizontal offset, and the vertical sensor 212, the vertical offset.

The following describes the alternative procedure for aligning the tag160, in greater detail, making reference to FIGS. 9 a-9 c, 10 and 11. Inthe image 154 shown in FIGS. 9 a, the three oval sensors 202-206 areconfigured to mark segments that are at least 5 pixels in size, which isthe typical width of the smallest barcode bar. It will be appreciatedthat this procedure may be used for aligning other indicia such as analpha-numeric string, wherein the threshold of 5 pixels may be adjustedto recognize, e.g., the smallest possible character width.

An edge contrast may be used to identify barcode segments, and isdetermined through experimentation during an initial calibration. Asuitable range is 7-15%, which is high enough to ignore minor noisysegments, but low enough to pick as many valid barcode segments at arelatively poor focus as possible.

As shown in FIG. 10, when the alignment procedure is executed, a scriptexamines each segmentation sensor 202-206 in turn, and determines thenumber of segments identified by each sensor. First, the sensor ofinterest is chosen, e.g. starting with sensor 202, and the number ofsegments is then determined and compared to a threshold, e.g. 10. If thenumber of segments is less than 10, chances are that there is no barcodeintersecting the sensor 202, just background noise. In FIG. 9 a, it canbe seen that sensor 202 has only 1 segment, and would therefore beignored in calculating the offset of the tag 160. However, the nextsensor, e.g. 204, clearly has more than 10 segments, and would thereforebe used to calculate the average segment position 215 (shown in FIG. 9b).

Since segments on a barcode 164 should not, ideally, be larger than acertain threshold, e.g. approximately 10 pixels, those that are largerthan the threshold are ignored, eliminating stray segments, backgroundsegments etc. This ignores the curvature of the path in which thesensors may perform their scan. An oval path may report a larger segmentwidth since the path in which it travels may not traverse the segmentalong the shortest path. This would result in a measured segment widththat is larger than that of the segment's true size. Segments can alsobe identified as larger than they truly are, if adjacent barcode barsare missed due to poor focus etc. The threshold is chosen to accommodateoperational variations.

Turning to FIGS. 9 a and 10 specifically, since sensor 202 has beenignored, sensor 204 is next analysed. There are greater than 10 segmentsaccording to the image 154 in FIG. 9 a, therefore, the first segment isselected, and its size determined. If the segment selected is smallerthan the threshold, i.e., 10 pixels or less, its coordinates are savedto include in the average position. This is repeated until each segmenthas been analysed. As long as at least one of the segments has not beendetermined as “bad”, i.e., above threshold, an average horizontal andvertical position are determined based on all coordinates saved duringthe analysis.

The above process is repeated for each sensor, which in the exampleshown in FIG. 9 a would involve one more iteration to evaluate sensor206. If it was determined that all sensors were ignored, the aggregateaverage position is set to the center 200. If at least one of thesegments has not been ignored, an aggregate average position 215 usingall included sensors (these are shown in isolation in FIG. 9 b), and allincluded segment positions is found. This calculation produces vector214 shown in FIG. 9 b.

Once all sensors have been analysed, the horizontal and verticalsegmentation sensors may be used, as shown in isolation in FIG. 9 c. Itwill be appreciated that using the horizontal 210 and vertical 212sensors may be an optional procedure, however, the use thereof doesprovide a more accurate determination of the center of the barcode 164.

The steps in using the horizontal 210 and vertical sensors 212 is shownin FIG. 11, making reference to FIG. 9 c. The horizontal sensor 210 isplaced along the image 154 at the average vertical position (i.e. Ycoordinate of 215) determined according to FIG. 10. Similarly, thevertical sensor 212 is placed along the image 154 at the averagehorizontal position (i.e. X coordinate of 215). A script will determinewhich line sensor (210 or 212) has a greater number of segments, todecide whether the barcode 164 is oriented vertically or horizontally.It is clear from FIG. 9 c that the horizontal sensor 210 has a greaternumber of segments, and the barcode 164 is clearly oriented in ahorizontal fashion.

In this example, since the horizontal sensor 210 has a greater number ofsegments, the process continues on the right hand path shown in FIG. 11.Once the proper sensor has been chosen, the number of segmentsidentified by that sensor is determined, and if there are fewer segmentsthan a particular threshold, the process is bypassed. In FIG. 11, thatthreshold is three (3) segments. If the horizontal sensor 210 hasidentified three or more segments, which in FIG. 9 c is true, a loopcommences that measures the size of each segment, and if the segment issmaller than a threshold, e.g., 15 pixels, then the coordinates of thatsegment are to be included in the second average position 217. Similarto the oval sensors, this process is repeated for each segment until allhave been analysed.

If all segments were bad, the average X position is set to the Xcoordinate of center 200, and if not, an average X position is computedfor all included segments. Differential X and Y measurements are thencalculated by subtracting the X coordinate of center 200 from theaverage X position and the Y coordinate of the center 200 from theaverage Y position. In this example, the average Y value remains the onecalculated by the oval sensors. The differential measurements are thencompared to respective thresholds, and if the differential measurementsare not above those thresholds then the barcode 164 is within thesuitable limits and a move is not required. If however at least one ofthe X or Y differential measurements are greater than its respectivethreshold, a second vector 216 extending from center 200 to the positiondictated by the X differential and Y differential measurements, i.e.217, is computed. This vector 216 provides a better estimate of thecenter of the barcode in the horizontal direction, as shown in FIG. 9 c.

It will be appreciated that the steps taken for measuring a verticalbarcode are similar to those that have been described above, andtherefore, need not be reiterated.

As long as at least one of the differential measurements is greater thanits respective threshold, a pan/tilt operation will be performed by thepan/tilt mechanism 40, which aligns the tag 160 within the image asshown in FIG. 9 d. At this point, the imaging system 14 will analyse theimage and determine if further adjustment is needed, or if a particularscan direction is needed. For example, the tag 160 is oriented“upside-down”, and thus the barcode scan operation would need to takethis into account. The imaging system 14 may then determine theup-down/left-right orientation and scan accordingly.

To achieve the most accurate results: a reasonable focus should be usedso that the maximum number of barcode segments may be encountered; areasonably consistent background is preferred, which is difficult tocontrol, however should be considered; and if possible, having no othertags within the field of view of the cameras 32 a, 32 b is alsopreferred, to minimize confusion with the background.

It will be appreciated that the above alternative alignment procedurecan be used in place of the procedure shown in FIGS. 5 a and 5 b, andthe choice of which procedure to use, is dependent on the application.For instance, in an application where the objects being scanned arerectangular, e.g., shipping containers, either alignment procedure issuitable. On the other hand, in applications where the objects arecurved, e.g., rolls of steel, the alternative alignment procedure ismore appropriate.

Although the invention has been described with reference to certainspecific embodiments, various modifications thereof will be apparent tothose skilled in the art without departing from the spirit and scope ofthe invention as outlined in the claims appended hereto. The entiredisclosures of all references recited above are incorporated herein byreference.

1. A method for remotely scanning objects comprising the steps of: usingan imaging system to display an image of said objects on an interface;receiving a location input of an identification tag attached to adesired object based on a location in said image; using said locationinput to orient said imaging system towards said identification tag;magnifying said identification tag; and reading information identifyingcharacteristics of said desired object provided by said tag.
 2. A methodaccording to claim 1 wherein prior to reading said information, saidmethod further comprises the step of analysing said image to determinean orientation of said image relative to a predetermined orientation andthe tag being aligned by adjusting said orientation.
 3. A methodaccording to claim 2 wherein said step of analysing said imageidentifies at least one marking on said tag indicative of the positionof said tag in said image, compares the position of said at least onemarking to a preferred position, determines a deviation of said positionfrom said preferred position, and aligns said tag in said image byadjusting the orientation of said imaging system according to saiddeviation.
 4. A method according to claim 3 wherein said at least onemarking is a set of alignment markings disposed about the periphery ofan identifier providing said information, an avenge of the position ofeach of said alignment markers being compared to said preferred positionto determine said deviation, and said orientation of said imaging systembeing adjusted based on said deviation such that said avenge is locatedwithin a predetermined portion of said image.
 5. A method according toclaim 4 wherein one marking of said set of alignment markings is uniquefrom the others, the location of said unique marker being used todetermine the orientation of said tag.
 6. A method according to claim 5wherein said information identifying characteristics of said desiredobject is a barcode displayed on said tag, and said orientation of saidtag determines a scan direction for reading said barcode.
 7. A methodaccording to claim 3 wherein each of said at least one marking isidentified using at least one sensor arranged on said image, each ofsaid at least one marking indicative of a respective region of interestin said image corresponding to at least a portion of indicia on saidtag, an average position of said at least one marking being compared tosaid preferred position to determine said deviation, and saidorientation of said imaging system being adjusted based on saiddeviation such that said avenge position is located within apredetermined portion of said image.
 8. A method according to claim 7wherein said regions of interest are segments indicative of regions ofsimilar intensity that are differentiated from other regions using anintensity gradient.
 9. A method according to claim 7 comprising threeoval shaped sensors arranged on said image concentrically around acenter position in said image.
 10. A method according to claim 9 whereineach of said oval sensors is analysed to determine said regions ofinterest, and an average position of said regions is determined from theavenge position of segments identified by respective ones of thesensors, said segments being indicative of regions of similar intensitythat are differentiated from other regions by an intensity gradient. 11.A method according to claim 10 wherein the step of determining saiddeviation further includes the step of determining a second averageposition using horizontally and vertically arranged sensors passingthrough said average position, said second average position beingdetermined from an average position of segments identified by one ofsaid horizontally and vertically arranged sensors, said tag beingaligned based on said second average position.
 12. A method according toclaim 11 wherein said one of said horizontally and vertically arrangedsensors is chosen based on the orientation of said indicia.
 13. A methodaccording to claim 7 wherein said indicia comprises a barcode and saidregions of interest correspond to respective barcode bars.
 14. A methodaccording to claim 1 wherein said imaging system comprises a firstcamera, said first camera having a fixed magnification and a secondcamera, said second camera having an adjustable magnification.
 15. Amethod according to claim 14 wherein each of said cameras is a smartcamera.
 16. A method according to claim 14 wherein said first camera isused for displaying said image of said objects, and said second camerais used for magnifying said tag.
 17. A method according to claim 16wherein said first camera maintains a fixed magnification, such thatsaid image includes a plurality of said objects; and said second cameraincludes a zoom lens that maintains a first magnification thatcorresponds to a predetermined estimate of the required magnification tofocus said tag, and is operable between a plurality of magnifications toenable the magnification of said tag to be adjusted.
 18. A methodaccording to claim 1 wherein said location input is received from atouchscreen displaying said image.
 19. A method according to claim 18wherein said location input is provided by an operator selecting saiddesired object by touching said touchscreen.
 20. A method according toclaim 1 wherein said imaging system includes a smart camera, said smartcamera having an internal processor for executing said steps.
 21. Amethod according to claim 1 wherein said image is sent to an externalprocessing device for executing said steps.
 22. A method according toclaim 1 wherein said location input is correlated to a field positiondetermined by a range finder, said correlation being used to determinethe location of said desired object in said field.
 23. A methodaccording to claim 1 further comprising the step of comparing saidinformation identifying characteristics of said desired object to apredetermined list of desired objects to determine if said desiredobject is part of said list.
 24. A method according to claim 1 whereinsaid information identifying characteristics of said desired object is abarcode displayed on said tag.
 25. A method according to claim 1 furthercomprising the step of sending said information to an inventory controlsystem for monitoring the distribution of said objects.
 26. A system forremotely scanning objects comprising: an imaging system positionedremotely from said objects and arranged to image said objects, saidimaging system having an adjustable lens for magnifying said image; aninterface for displaying an image of said objects and adapted forreceiving a location input for an identification tag attached to adesired object based on a location in said image; and a processorconnected to said imaging system and said interface; wherein saidprocessor uses said location input to orient said imaging system towardssaid tag, commands said adjustable lens to magnify said tag, and readsinformation identifying characteristics of said desired object providedby said tag.
 27. A system according to claim 26 wherein said processoris adapted to analyse said image to determine an orientation of saidimage relative to a predetermined orientation and aligns said tag byadjusting said orientation.
 28. A system according to claim 27 whereinupon analysing said image, said processor identifies at least onemarking on said tag indicative of the position of said tag in saidimage, compares the position of said at least one marking to a preferredposition to determine a deviation of said position of said at least onemarking from said preferred position, and aligns said tag in said imageby adjusting the orientation of said imaging system according to saiddeviation.
 29. A system according to claim 28 wherein said at least onemarking is a set of alignment markings disposed about the periphery ofan identifier providing said information.
 30. A system according toclaim 29 wherein one marking of said set of alignment markings is uniquefrom the others, the location of said unique marker being identified bysaid processor and used to determine the orientation of said tag.
 31. Asystem according to claim 30 wherein said information identifyingcharacteristics of said desired object is a barcode displayed on saidtag, and wherein said processor uses said orientation of said tag todetermine a scan direction for reading said barcode.
 32. A systemaccording to claim 28 wherein said processor has at least one sensorarranged on said image, said at least one sensor being used to identifysaid at least one marking indicative of a respective region of interestin said image corresponding to at least a portion of indicia on saidtag, said processor measuring an average position of said at least onemarking to determine said deviation and using said average position toalign said tag in said image.
 33. A system according to claim 32 whereinsaid regions of interest are segments indicative of regions of similarintensity that are differentiated from other regions using an intensitygradient.
 34. A system according to claim 32 comprising three ovalshaped sensors arranged concentrically around a center position of saidimage.
 35. A system according to claim 32 wherein said indicia comprisesa barcode and said regions of interest correspond to respective barcodebars.
 36. A system according to claim 32 further comprising horizontallyand vertically arranged sensors used to determine a second averageposition and are arranged on said image by said processor such that theyeach pass through said average position, said second average positionbeing determined from an average position of segments identified by oneof said horizontally and vertically arranged sensors, said tag beingaligned by having said processor adjust said orientation of said imagingsystem based on said second average position.
 37. A system according toclaim 36 wherein said one of said horizontally and vertically arrangedsensors is chosen based on the orientation of said indicia.
 38. A systemaccording to claim 26 wherein said imaging system comprises a smartcamera.
 39. A system according to claim 38 wherein said smart cameracontains said processor.
 40. A system according to claim 26 wherein saidprocessor is located remotely from said imaging system.
 41. A systemaccording to claim 26 wherein said imaging system comprises a firstcamera, said first camera having a fixed magnification; and a secondcamera, said second camera comprising said adjustable lens.
 42. A systemaccording to claim 41 wherein each of said cameras is a smart camera.43. A system according to claim 42 wherein said smart camera containssaid processor.
 44. A system according to claim 41 wherein said imagingsystem has an adjustment drive adapted for providing pan and tiltoperations, and each of said cameras is moveable by said adjustmentdrive.
 45. A system according to claim 26 wherein said imaging systemhas an adjustment drive adapted for providing pan and tilt operations.46. A system according to claim 26 wherein said location input isreceived through said interface.
 47. A system according to claim 46wherein said location input is a touch input receivable from atouchscreen displaying said image.
 48. A system according to claim 26wherein said interface is located remotely from said imaging system. 49.A system according to claim 26 further comprising an inventory controlsystem connected to said processor, said inventory control system beingused to receive said information identifying characteristics of saiddesired object from said processor, for identification thereof; whereinsaid inventory control system updates a record of said objects.
 50. Asystem according to claim 49 wherein said inventory control system isconnected to said processor via a wireless Ethernet link.
 51. A systemaccording to claim 26 further comprising a range finder for determiningthe location of said desired object in said field and to correlate saidlocation input to said location of said desired object in said field.52. A method for aligning a tag in an image, said tag being affixed toan object and having indicia thereon, said method comprising the stepsof: obtaining an image of said object having at least a portion of saidtag visible in said image; arranging at least one sensor on said image;identifying at least one marking on said tag using said at least onesensor, said at least one marking indicative of the position of said tagin said image, and indicative of a respective region of interest in saidimage corresponding to at least a portion of indicia on said tag, eachof said respective regions of interest intersecting one of said at leastone sensor; computing an average position of said at least one markingto determine a deviation of said average position from a preferredposition; and aligning said tag in said image according to saiddeviation.
 53. A method according to claim 52 wherein prior to obtainingan image of said tag, said method further comprises the steps ofobtaining a preliminary image of a plurality of objects including saidobject; receiving a location input of said tag on said object based on alocation of said tag in said preliminary image; and using said locationinput to obtain said image of said object having at least a portion ofsaid tag visible in said image.
 54. A method according to claim 52wherein said regions of interest are segments indicative of regions ofsimilar intensity that are differentiated from other regions by anintensity gradient.
 55. A method according to claim 52 comprising threeoval shaped sensors arranged concentrically around a center position ofsaid image.
 56. A method according to claim 55 wherein each of said ovalsensors is analysed to determine said regions of interest, and anaverage position of said regions is determined from the average positionof segments identified by respective ones of the sensors, said segmentsbeing indicative of regions of similar intensity that are differentiatedfrom other regions using an intensity gradient.
 57. A method accordingto claim 52 wherein said indicia comprises a barcode and said regions ofinterest correspond to respective barcode bars.
 58. A method accordingto claim 56 wherein the determination of said deviation further includesthe step of determining a second average position using horizontally andvertically arranged sensors passing through said average position, saidsecond average position being determined from an avenge position ofsegments identified by one of said horizontally and vertically arrangedsensors, said tag being aligned based on said second average position.59. A method according to claim 58 wherein said one of said horizontallyand vertically arranged sensors is chosen based on the orientation ofsaid indicia.